]> dgit.raspbian.org Git - gnome-shell.git/commit
main: Move pref overrides back into C
authorFlorian Müllner <fmuellner@gnome.org>
Thu, 5 Jun 2014 16:09:47 +0000 (18:09 +0200)
committerFlorian Müllner <fmuellner@gnome.org>
Mon, 9 Jun 2014 19:52:03 +0000 (21:52 +0200)
commitae2751a68b20ab281ca74affd61562fb8869b639
treeb973c45218662608aad5906f40c83747b07c14e1
parent589becbc79c7a96144298d75b3abd37f6dc97ccf
main: Move pref overrides back into C

Commit 6c2f3d1d178a65d moved pref overrides into JS to implement
session mode specific overrides in a clean and generic way.
However that approach comes with a cost - doing the overrides only
after having handled over control to JS means that the core will
be initialized with the non-overridden settings before changing
to the correct values. In the best case this is unnecessary work,
but it can in fact have a worse effect: when initializing workspaces,
we will restore the previous number of workspaces when using
dynamic-workspaces and reset to the configured number otherwise.
As the non-overridden default for dynamic-workspaces is FALSE, we
can easily end up moving the user's windows to the "wrong" workspace.

Now GSettings is expected to grow support for session specific defaults,
which will render our entire override system obsolete (yay!). Given
that, it seems acceptable to use a less generic (and uglier) approach
in the meanwhile, in order to fix aforementioned problems. So move
overrides back before core initialization and just hardcode the
session-mode => override-schema relation.

https://bugzilla.gnome.org/show_bug.cgi?id=695487
js/ui/main.js
js/ui/windowManager.js
src/main.c
src/shell-global.c
src/shell-global.h